#include "kpublicjsonobjecthandle.h"

KPublicJsonObjectHandle::KPublicJsonObjectHandle(QObject *parent)
    : QObject{parent}
{}
QJsonObject KPublicJsonObjectHandle::readFileToInitializeSettings(QFile &file)
{

    if(!file.open(QIODevice::ReadWrite)){
        QJsonObject jsonObject;
        jsonObject.insert("code",1);
        jsonObject.insert("message","文件打开失败");
        file.close();
        return jsonObject;
    }
    QByteArray byteArray=file.readAll();
    QJsonDocument jsonDocument=QJsonDocument::fromJson(byteArray);
    if(jsonDocument.isObject()){
        QJsonObject jsonObject=jsonDocument.object();
        // qDebug()<<jsonObject;
        jsonObject.insert("code",0);
        file.close();
        return jsonObject;
    }
    QJsonObject jsonObject;
    jsonObject.insert("code",1);
    jsonObject.insert("message","文件格式错误");
    file.close();
    return jsonObject;
}

bool KPublicJsonObjectHandle::isJsonObjectCodeOk(QJsonObject jsonObject)
{
    if(jsonObject["code"]==0)
        return true;
    qDebug()<<jsonObject["message"];
    return false;
}



QByteArray KPublicJsonObjectHandle::forwardToBackSlash(QByteArray forwardSlash)
{
    for(int i=0;i<forwardSlash.length();i++){
        if(forwardSlash[i]=='\\'){
            forwardSlash[i]='/';
        }
    }
    return forwardSlash;
}


QJsonObject KPublicJsonObjectHandle::fileOpen(bool &isok,QByteArray filePath)
{
    QFile fileSETUP(filePath);
    // if(!fileSETUP.open(QIODevice::ReadOnly))
    //     qDebug()<<"文件打开失败";
    QJsonObject jsonObj= readFileToInitializeSettings(fileSETUP);
    if(isJsonObjectCodeOk(jsonObj)){
        isok=true;
        fileSETUP.close();
        return jsonObj;
    }
    isok=false;
    fileSETUP.close();
    return jsonObj;
}

